package com.qq.weixin.mp.api.oauth2;

import com.hxexp.weixin.common.exception.APIException;
import com.qq.weixin.mp.api.oauth2.model.WebAccessTokenBean;
import com.qq.weixin.mp.api.oauth2.model.WebUserInfoBean;

/**
 * 微信公众平台网页授权接口
 * @author li.jiang
 *
 */
public interface Oauth2API {
    /**
     * 通过code换取网页授权access_token
     * @param code      填写第一步获取的code参数
     * @return 网页授权access_token
     * @throws Exception
     */
    public WebAccessTokenBean getAccessToken(String code, String appId, String appSecret) throws APIException;

    /**
     * 拉取用户信息(需scope为 snsapi_userinfo)
     *
     * @param accesssToken
     *            网页授权接口调用凭证(此access_token与基础支持的access_token不同)
     * @param openid
     *            用户的唯一标识
     * @return
     * @throws Exception
     */
    public WebUserInfoBean getUserInfo(String accesssToken, String openid) throws APIException;
}
